package ejb;

import details.GPDetails;
import details.PatientDetails;
import exceptions.GPNotFoundException;
import exceptions.PatientNotFoundException;
import exceptions.UsernameAlreadyExistsException;
import java.util.List;
import javax.ejb.Local;

/**
 *
 * @author jeroen
 */
@Local
public interface GPLocal {

    public void registerGP(String username, String password) throws UsernameAlreadyExistsException;

    public void registerGP(String username, String password, String name, String surname) throws UsernameAlreadyExistsException;

    public GPDetails getGP(String username) throws GPNotFoundException;

    public void setGPPassword(String username, String password) throws GPNotFoundException;

    public void setGPName(String username, String name) throws GPNotFoundException;

    public void setGPSurname(String username, String surname) throws GPNotFoundException;

    public List<PatientDetails> getAllPatientsForGP(String usernameGP) throws GPNotFoundException;

    public void addPatientToGP(String usernameGP, String usernamePatient) throws GPNotFoundException, PatientNotFoundException;

    public void removePatientFromGP(String usernameGP, String usernamePatient) throws GPNotFoundException, PatientNotFoundException;

    public List<GPDetails> getAllGPs();
    
}
